<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://www.globallink.com/v1/gtss" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://www.globallink.com/v1/gtss" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding">
  <wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.globallink.com/v1/gtss" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://www.globallink.com/v1/gtss">

	<xsd:complexType name="InstitutionType">
		<xsd:sequence>
			<xsd:element minOccurs="1" name="name" type="xsd:string"/>
			<xsd:element minOccurs="1" name="bic" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="FundType">
		<xsd:sequence>
			<xsd:element minOccurs="1" name="legalName" type="xsd:string"/>
			<xsd:element minOccurs="1" name="ownerInternalCode" type="xsd:string"/>
			<xsd:element minOccurs="1" name="ownerDisplayCode" type="xsd:string"/>
			<xsd:element minOccurs="1" name="counterInternalCode" type="xsd:string"/>
			<xsd:element minOccurs="1" name="counterDisplayCode" type="xsd:string"/>
			<xsd:element minOccurs="0" name="custodialCode" nillable="true" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="FxTradeDetailsType">
		<xsd:sequence>
			<xsd:element minOccurs="1" name="transactionId" type="xsd:string"/>
			<xsd:element minOccurs="1" name="amtBought" type="xsd:decimal"/>
			<xsd:element minOccurs="1" name="amtSold" type="xsd:decimal"/>
			<xsd:element minOccurs="1" name="currBought" type="xsd:string"/>
			<xsd:element minOccurs="1" name="currSold" type="xsd:string"/>
			<xsd:element minOccurs="1" name="tradeDate" type="xsd:dateTime"/>
			<xsd:element minOccurs="1" name="settleDate" type="xsd:dateTime"/>
			<xsd:element minOccurs="1" name="rate" type="xsd:decimal"/>
			<xsd:element minOccurs="0" name="fixingDate" type="xsd:dateTime"/>
			<xsd:element minOccurs="0" name="settlementDetails" type="tns:FxSettlementDetailsType"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="PartyIdentifierType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="format" type="xsd:string"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="FxSettlementDetailsType">
		<xsd:sequence>
			<xsd:element minOccurs="0" name="splitSettlementInd" type="xsd:boolean"/>
			<xsd:element minOccurs="0" name="blockTradeInd" type="xsd:boolean"/>
			<xsd:element minOccurs="0" name="scopeOfOperation" type="xsd:string"/>
			<xsd:element minOccurs="1" name="sendersRef" type="xsd:string"/>
			<xsd:element minOccurs="0" name="relatedRef" type="xsd:string"/>
			<xsd:element minOccurs="1" name="commRefId" type="xsd:string"/>
			<xsd:element minOccurs="1" name="partyA" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="1" name="partyB" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="fundOrBenefCust" type="tns:PartyIdentifierType"/>

			<xsd:element minOccurs="0" name="buyDeliveryAgent" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="buyIntermediary" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="1" name="buyReceivingAgent" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="sellDeliveryAgent" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="sellIntermediary" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="1" name="sellReceivingAgent" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="sellBeneficiaryInst" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="dealingBranchPartyA" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="dealingBranchPartyB" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="termsAndCond" type="xsd:string"/>
			<xsd:element minOccurs="0" name="contactInfo" type="xsd:string"/>
			<xsd:element minOccurs="0" name="dealingMethod" type="xsd:string"/>
			<xsd:element minOccurs="0" name="brokerId" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="brokerCommissionCurr" type="xsd:string"/>
			<xsd:element minOccurs="0" name="brokerCommissionAmt" type="xsd:decimal"/>
			<xsd:element minOccurs="0" name="counterPartysRef" type="xsd:string"/>
			<xsd:element minOccurs="0" name="brokersRef" type="xsd:string"/>
			<xsd:element minOccurs="0" name="senderToReceiverInfo" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="SwiftMt300">
		<xsd:sequence>
			<xsd:element minOccurs="0" name="splitSettlementInd" type="xsd:string"/>
			<xsd:element minOccurs="0" name="blockTradeInd" type="xsd:string"/>
			<xsd:element minOccurs="0" name="scopeOfOperation" type="xsd:string"/>
			<xsd:element minOccurs="1" name="sendersRef" type="xsd:string"/>
			<xsd:element minOccurs="0" name="relatedRef" type="xsd:string"/>
			<xsd:element minOccurs="1" name="commRefId" type="xsd:string"/>
			<xsd:element minOccurs="1" name="partyA" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="1" name="partyB" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="fundOrBenefCust" type="tns:PartyIdentifierType"/>

			<xsd:element minOccurs="0" name="buyDeliveryAgent" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="buyIntermediary" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="1" name="buyReceivingAgent" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="sellDeliveryAgent" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="sellIntermediary" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="1" name="sellReceivingAgent" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="sellBeneficiaryInst" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="dealingBranchPartyA" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="dealingBranchPartyB" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="termsAndCond" type="xsd:string"/>
			<xsd:element minOccurs="0" name="contactInfo" type="xsd:string"/>
			<xsd:element minOccurs="0" name="dealingMethod" type="xsd:string"/>
			<xsd:element minOccurs="0" name="brokerId" type="tns:PartyIdentifierType"/>
			<xsd:element minOccurs="0" name="brokerCommissionCurr" type="xsd:string"/>
			<xsd:element minOccurs="0" name="brokerCommissionAmt" type="xsd:decimal"/>
			<xsd:element minOccurs="0" name="counterPartysRef" type="xsd:string"/>
			<xsd:element minOccurs="0" name="brokersRef" type="xsd:string"/>
			<xsd:element minOccurs="0" name="senderToReceiverInfo" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="FxTradeStatusType">
		<xsd:sequence>
			<xsd:element minOccurs="1" name="status" type="xsd:string"/>
			<xsd:element minOccurs="1" name="affirmation" type="xsd:string"/>
			<xsd:element minOccurs="1" name="matchDescription" type="xsd:string"/>
			<xsd:element minOccurs="0" name="comments" type="xsd:string"/>
			<xsd:element minOccurs="1" name="created" type="xsd:dateTime"/>
			<xsd:element minOccurs="1" name="auditTime" type="xsd:dateTime"/>
			<xsd:element minOccurs="0" name="matchGlobalLinkId" type="xsd:long"/>
			<xsd:element minOccurs="1" name="siBought" type="xsd:string"/>
			<xsd:element minOccurs="1" name="siSold" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
		
	<xsd:complexType name="FxTradeDownloadType">
		<xsd:sequence>
			<xsd:element minOccurs="1" name="globalLinkId" type="xsd:long"/>
			<xsd:element minOccurs="1" name="side" type="xsd:string"/>
			<xsd:element minOccurs="1" name="tradeDetails" type="tns:FxTradeDetailsType"/>
			<xsd:element minOccurs="0" name="counterTradeDetails" type="tns:FxTradeDetailsType"/>
			<xsd:element minOccurs="1" name="tradeStatus" type="tns:FxTradeStatusType"/>
			<xsd:element minOccurs="0" name="counterTradeStatus" type="tns:FxTradeStatusType"/>
			<xsd:element minOccurs="1" name="owner" type="tns:InstitutionType"/>
			<xsd:element minOccurs="0" name="counterparty" type="tns:InstitutionType"/>
			<xsd:element minOccurs="0" name="custodian" type="tns:InstitutionType"/>
			<xsd:element minOccurs="1" name="fund" type="tns:FundType"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="ArrayOfFxTradeDownloadType">
		<xsd:sequence>
			<xsd:element maxOccurs="unbounded" minOccurs="0" name="fxTrade" nillable="true" type="tns:FxTradeDownloadType"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="FxTradeUploadType">
		<xsd:sequence>
			<xsd:element minOccurs="1" name="operation" type="xsd:string"/>
			<xsd:element minOccurs="1" name="amtBought" type="xsd:decimal"/>
			<xsd:element minOccurs="1" name="amtSold" type="xsd:decimal"/>
			<xsd:element minOccurs="1" name="currBought" type="xsd:string"/>
			<xsd:element minOccurs="1" name="currSold" type="xsd:string"/>
			<xsd:element minOccurs="1" name="tradeDate" type="xsd:dateTime"/>
			<xsd:element minOccurs="1" name="settleDate" type="xsd:dateTime"/>
			<xsd:element minOccurs="1" name="rate" type="xsd:decimal"/>
			<xsd:element minOccurs="1" name="settlementDetails" type="tns:FxSettlementDetailsType"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="ArrayOfFxTradeUploadType">
		<xsd:sequence>
			<xsd:element maxOccurs="unbounded" minOccurs="0" name="fxTrade" nillable="true" type="tns:FxTradeUploadType"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="WhichDatesType">
		<xsd:sequence>
			<xsd:element minOccurs="1" name="dateFilter" type="xsd:string"/>
			<xsd:element minOccurs="1" name="startDate" type="xsd:dateTime"/>
			<xsd:element minOccurs="0" name="endDate" type="xsd:dateTime"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="WhoseTradesType">
		<xsd:sequence>
			<xsd:element minOccurs="1" name="oursVersusTheirs" type="xsd:string"/>
			<xsd:element minOccurs="0" name="includeDirectTrades" type="xsd:boolean"/>
			<xsd:element minOccurs="0" name="includeThirdPartyTrades" type="xsd:boolean"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="GetTradesByDateRequestType">
		<xsd:sequence>
			<xsd:element minOccurs="1" name="statusFilter" type="xsd:string"/>
			<xsd:element minOccurs="1" name="whichDates" type="tns:WhichDatesType"/>
			<xsd:element minOccurs="1" name="whoseTrades" type="tns:WhoseTradesType"/>
			<xsd:element minOccurs="0" name="includeArchivedTrades" type="xsd:boolean"/>
			<xsd:element minOccurs="0" name="includeSettlementDetails" type="xsd:boolean"/>
			<xsd:element minOccurs="0" name="includeMatchedTradeDetails" type="xsd:boolean"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="GetTradesByDateResponseType">
		<xsd:sequence>
			<xsd:element minOccurs="0" name="trades" nillable="true" type="tns:ArrayOfFxTradeDownloadType"/>
			<xsd:element name="responseTime" type="xsd:dateTime"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:element name="GetTradesByDateRequest" type="tns:GetTradesByDateRequestType"/>
	<xsd:element name="GetTradesByDateResponse" type="tns:GetTradesByDateResponseType"/>

	<xsd:complexType name="UploadMessagesType">
		<xsd:sequence>
			<xsd:element minOccurs="1" name="index" type="xsd:integer"/>
			<xsd:element minOccurs="1" name="msgType" type="xsd:string"/>
			<xsd:element minOccurs="1" name="msgText" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="ArrayOfUploadMessagesType">
		<xsd:sequence>
			<xsd:element maxOccurs="unbounded" minOccurs="0" name="message" nillable="true" type="tns:UploadMessagesType"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="UploadFxTradesRequestType">
		<xsd:sequence>
			<xsd:element minOccurs="0" name="trades" nillable="true" type="tns:ArrayOfFxTradeUploadType"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="UploadResponseType">
		<xsd:sequence>
			<xsd:element minOccurs="1" name="result" type="xsd:string"/>
			<xsd:element minOccurs="0" name="messages" nillable="true" type="tns:ArrayOfUploadMessagesType"/>
			<xsd:element name="responseTime" type="xsd:dateTime"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:element name="UploadFxTradesRequest" type="tns:UploadFxTradesRequestType"/>
	<xsd:element name="UploadFxTradesResponse" type="tns:UploadResponseType"/>

	<xsd:complexType name="UploadFileRequestType">
		<xsd:sequence>
			<xsd:element minOccurs="1" name="fileType" type="xsd:string"/>
			<xsd:element minOccurs="1" name="fileData" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:element name="UploadFileRequest" type="tns:UploadFileRequestType"/>
	<xsd:element name="UploadFileResponse" type="tns:UploadResponseType"/>

</xsd:schema>
  </wsdl:types>
  <wsdl:message name="UploadFileResponse">
    <wsdl:part name="UploadFileResponse" element="tns:UploadFileResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="UploadFileRequest">
    <wsdl:part name="UploadFileRequest" element="tns:UploadFileRequest">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="FileWebServicePortType">
    <wsdl:operation name="UploadFile">
      <wsdl:input name="UploadFileRequest" message="tns:UploadFileRequest">
    </wsdl:input>
      <wsdl:output name="UploadFileResponse" message="tns:UploadFileResponse">
    </wsdl:output>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="FileWebServiceHttpBinding" type="tns:FileWebServicePortType">
    <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="UploadFile">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="UploadFileRequest">
        <wsdlsoap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="UploadFileResponse">
        <wsdlsoap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="FileWebService">
    <wsdl:port name="FileWebServiceHttpPort" binding="tns:FileWebServiceHttpBinding">
      <wsdlsoap:address location="http://my.e-globallink.com:8123/gtss/service/FileWebService"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
